package com.micro.school.edu.service;

import java.util.List;

import com.micro.school.common.core.web.domain.AjaxResult;
import com.micro.school.edu.domain.SchoolGrade;
import com.micro.school.edu.domain.vo.SchoolGradeVo;
import com.baomidou.mybatisplus.extension.service.IService;
import com.micro.school.system.api.domain.vo.SchoolGradeVos;

/**
 * 学校年级Service接口
 *
 * @author rakic
 * @date 2025-08-07
 */
public interface ISchoolGradeService
{
    /**
     * 查询学校年级
     *
     * @param id 学校年级主键
     * @return 学校年级
     */
    public SchoolGradeVo selectSchoolGradeById(Long id);

    /**
     * 查询学校年级列表
     *
     * @param schoolGradeVo 学校年级
     * @return 学校年级集合
     */
    public List<SchoolGradeVo> selectSchoolGradeList(SchoolGradeVo schoolGradeVo);

    /**
     * 新增学校年级Vo
     *
     * @param schoolGrade 学校年级
     * @return 结果
     */
    public AjaxResult insertSchoolGrade(SchoolGradeVo schoolGradeVo);

    /**
     * 修改学校年级Vo
     *
     * @param schoolGrade 学校年级
     * @return 结果
     */
    public int updateSchoolGrade(SchoolGradeVo schoolGradeVo);

    /**
     * 批量删除学校年级
     *
     * @param ids 需要删除的学校年级主键集合
     * @return 结果
     */
    public int deleteSchoolGradeByIds(List<Long> ids);

    /**
     * 删除学校年级信息
     *
     * @param id 学校年级主键
     * @return 结果
     */
    public int deleteSchoolGradeById(Long id);

    SchoolGradeVos selectSchoolGradeByIds(Long id);

    List<SchoolGradeVos> selectSchoolGradeLists(SchoolGradeVos schoolGradeVos);

}
